package com.szrt.java.day20170112.ch03;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.junit.Test;

import com.szrt.java.utils.ScottFileUtil;

/**
 * 将字符串"abcdefg"输出到  src/com/szrt/java/day20170112/ch03/szrt.txt 文件
 * @author zsrt
 *
 */
public class FileOutputStreamTest {
	
	
	@SuppressWarnings("resource")
	@Test
	public void write1() throws Exception {
		
		//1 创建1个File的对象：指明字符串输出的地址 并且把这个字符串格式的地址作为参数传给构造方法
		File file = new File("src/com/szrt/java/day20170112/ch03/szrt.txt");
		
		//2 创建1个文件输出流对象 并且把file作为参数传给文件输出流的构造方法
		FileOutputStream fos = new FileOutputStream(file);
		
		//3 调用fos的方法
		fos.write(43);
		
		
	}
	@Test
	public void write2() throws Exception {
		
		//1 创建1个File的对象：指明字符串输出的地址 并且把这个字符串格式的地址作为参数传给构造方法
		File file = new File("src/com/szrt/java/day20170112/ch03/szrt.txt");
		
		//2 创建1个文件输出流对象 并且把file作为参数传给文件输出流的构造方法
		FileOutputStream fos = new FileOutputStream(file);
		
		//3 调用fos的方法
		String target ="abcdefg";
		byte[] b =target.getBytes();
		
		fos.write(b);
		fos.close();
		
	}
	
	
	/**
	 *   字节输出流
	 * 
	 * 1： 如果文件不存在。会自动创建
	 * 2：如果第2个再写 那么第2次写的东西 会覆盖第1次写的东东?   家庭作业：xx  oo  最终结果是xxoo
	 * 3: 字节输出流不能保证中文的乱码问题。所以一般不用来处理中文
	 * @throws Exception
	 */
	@Test
	public void write3() throws Exception {
		
		String target="xxxooo50";
		String filePath ="src/com/szrt/java/day20170112/ch03/liuhao.txt";
		
		ScottFileUtil.write(target, filePath);
	}
	
	@Test
	public void write4() {
		
		FileOutputStream fos = null;
		try {
			File file = new File("src/com/szrt/java/day20170112/ch03/liuhao.txt");
			fos = new FileOutputStream(file,true);
			String words = "ooo";
			byte[] c = words.getBytes();
			fos.write(c);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	@Test
	public void readwriteFileTest() throws Exception{
		
		String source = "src/com/szrt/java/day20170112/ch03/angle.jpg";
		
		String destination = "src/com/szrt/java/day20170112/ch03/angle2.jpg";
		
		ScottFileUtil.readwriteFile(source, destination);
		
	}
	

}
